package com.zx.idc.backend.gui.api.watch.handler.base;

import com.zx.idc.backend.gui.api.ftp.Stat;
import com.zx.idc.backend.gui.api.watch.pojo.FtpUploadResult;

/**
 * ftp上报结果处理结果
 */
public interface FtpUploadResultHandler {
    /**
     * 匹配
     *
     * @param type
     * @return
     */
    boolean adapter(String type);

    /**
     * 上报成功回调,需要处理结果则重写改方法
     *
     * @param stat
     */
    /**
     * 上报成功回调,需要处理结果则重写改方法
     *
     * @param stat            ftp扫描的原信息对象
     * @param ftpUploadResult 解析后的ftp上报结果对象
     * @param filePath        上报源文件的全路径
     */
    default void uploadSuccess(Stat stat, FtpUploadResult ftpUploadResult, String filePath) {

    }

    /**
     *  上报异常回调,需要处理结果则重写改方法
     * @param stat ftp扫描的原信息对象
     * @param ftpUploadResult 解析后的ftp上报结果对象
     * @param filePath 上报源文件的全路径
     */
    default void uploadFailed(Stat stat, FtpUploadResult ftpUploadResult,String filePath) {

    }


}
